package IC.Symbols;

/**
 * Created by IntelliJ IDEA.
 * User: nimrod
 * Date: 10/01/12
 * Time: 14:07
 * To change this template use File | Settings | File Templates.
 */
public enum Kind {
    Class("Class", true, false),
    Field("Field", false, true),
    StaticMethod("Static method", true, false),
    VirtualMethod("Virtual method", false, false),
    Parameter("Parameter", true, true),
    Var("Local variable", true, true),
    ReturnVar("Return Variable", true, false),
    This("This", false, false);

    private String name;
    private boolean staticSearchable;
    private boolean allowedAsLocation;

    private Kind(String name, boolean staticSearchable, boolean allowedAsLocation) {
        this.name = name;
        this.staticSearchable = staticSearchable;
        this.allowedAsLocation = allowedAsLocation;
    }

    public String getName() {
        return name;
    }

    public boolean isStaticSearchable() {
        return staticSearchable;
    }

    public boolean isAllowedAsLocation() {
        return allowedAsLocation;
    }
}
